<?php
/**
 * @ClassName: PayType
 * @Description: 支付类型枚举
 * @author: wyaohu
 * @Date: 2024/9/8 20:30
 * @Version: V1.0.0
 */

namespace app\common\enum;

class PayType
{
    const PAY_CODE_WX_PAY = 'wxpay'; // 微信支付
    const PAY_CODE_ALI_PAY = 'alipay'; // 支付宝
    const PAY_CODE_BALANCE = 'balance'; // 余额支付
    const PAY_CODE_MONTHLY = 'monthly'; // 月结支付
    const PAY_CODE_TICKET = 'ticket'; // 水票支付
    const PAY_CODE_COD = 'cod'; // 货到付款
    const PAY_CODE_OTHER = 'other'; // 其他支付
    const PAY_CODE_INTEGRAL = 'integral'; // 积分支付 // 全积分支付
    const PAY_CODE_INTEGRAL_WX_PAY = 'integral_wxpay';// 积分+现金
    const PAY_CODE_INTEGRAL_ALI_PAY = 'integral_alipay'; // 积分+现金
    const PAY_CODE_INTEGRAL_BALANCE = 'integral_balance'; // 积分+余额
    const PAY_CODE_INTEGRAL_BALANCE_WX_PAY = 'integral_balance_wxpay'; // 积分+余额+现金
    const PAY_CODE_INTEGRAL_BALANCE_ALI_PAY = 'integral_balance_alipay'; // 积分+余额+现金

    /**
     * 支付类型
     * @param $level
     * @return string|string[]
     */
    public static function text($level)
    {
        $desc = [
            PayType::PAY_CODE_WX_PAY => '微信支付',
            PayType::PAY_CODE_ALI_PAY => '支付宝支付',
            PayType::PAY_CODE_BALANCE => '余额支付',
            PayType::PAY_CODE_MONTHLY => '月结支付',
            PayType::PAY_CODE_TICKET => '水票支付',
            PayType::PAY_CODE_COD => '货到付款',
            PayType::PAY_CODE_OTHER => '其他支付',
            PayType::PAY_CODE_INTEGRAL => '积分支付',
            PayType::PAY_CODE_INTEGRAL_WX_PAY => '积分+微信支付',
            PayType::PAY_CODE_INTEGRAL_ALI_PAY => '积分+支付宝支付',
            PayType::PAY_CODE_INTEGRAL_BALANCE => '积分+余额支付',
            PayType::PAY_CODE_INTEGRAL_BALANCE_WX_PAY => '积分+余额+微信支付',
            PayType::PAY_CODE_INTEGRAL_BALANCE_ALI_PAY => '积分+余额+支付宝支付',
        ];
        if ($level === true) {
            return $desc;
        }
        return $desc[$level] ?? $level;
    }

}